package com.huixin.powermonitor.common;

import cn.hutool.db.PageResult;
import lombok.Data;

//统一返回接口result配置类
@Data
public class Result {
    private int code;// 编码，200成功，400失败
    private String msg;//返回消息提示
    private Long total;//返回记录数
    private Object data;//返回数据
//    private Integer pageNum;  // 当前页码
//    private Integer pageSize; // 每页数量
//    private Integer pages;    // 总页数（可选）
//    private Object list;      // 当前页数据
    // 返回失败信息
    public static Result fail() {
        return result(400, "失败", 0L, null);
    }
    // 返回失败信息
    public static Result fail(String msg) {
        return result(400, msg, 0L, null);
    }
    // 返回成功信息
    public static Result suc() {
        return result(200, "成功", 0L, null);
    }
    // 返回成功信息
    public static Result suc(Object data) {
        return result(200, "成功", 0L, data);
    }

    //分页查询成功的返回结果
    public static Result suc(Long total, Object data) {
        return result(200, "成功", total, data);
    }

    public static Result suc(String msg) {
        return result(200, msg, 0L, null);
    }

    public static Result result(int code, String msg, Long total, Object data) {
        Result res = new Result();
        res.setCode(code);
        res.setMsg(msg);
        res.setTotal(total);
        res.setData(data);
        return res;
    }
    public static Result suc(PageResult pageResult) {
        return result(200, "成功", 0L, pageResult);
    }
}
